package com.th.coupon.service;

import com.th.coupon.common.exception.BaseCloudException;
import com.th.coupon.common.vo.CouponTemplateSdk;
import com.th.coupon.entity.CouponTemplate;

import java.util.Collection;
import java.util.List;
import java.util.Map;

/**
 * 优惠卷模板基础服务定义
 * @author 涂航
 */
public interface ITemplateBaseService {

    /**
     * 根据优惠卷模板id查询优惠卷模板
     * @param id 模板id
     * @return {@link CouponTemplate} 优惠卷模板实体
     * @throws BaseCloudException
     */
   CouponTemplate buildTemplateInfo(Integer id) throws BaseCloudException;

    /**
     * 查找素有可用的优惠卷模板信息
     * @return {@link List} 优惠卷模板信息集合
     */
   List<CouponTemplateSdk> findAllUsableTemplate();

    /**
     *获取模板ids到CouponTemplateSdk的映射
     * @param ids 模板ids
     * @return {@link Map}
     */
   Map<Integer,CouponTemplateSdk> findIds2TemplateSdk(Collection<Integer> ids);

}
